package parser;
import java.io.*;
import java.util.*;
import antlr.Token;

public abstract class Scope2 {
    
//    abstract int variable();
    
    abstract void bind(int name);
    
    abstract Scope2 beginFunction(List<Parameter2> parameters);
    
    abstract Scope2 beginClass(int name);
    
    abstract Scope2 close();

    Stmt discard(Expr e) {
        return e.toStm();   
    }

    abstract void global(int name);

    abstract Expr name(int name);

    abstract int[] getLocals();
    
    int protection_depth = 0;

//    abstract int getDepth(int name);
    
//    abstract void escapes(int name);

}
